package com;


/**
 * 快速排序
 * @author litianyi
 *
 * 2015年9月10日
 * 
 * 通过一趟排序将待排序记录分割成独立的两部分，其中一部分记录的关键字均比另一部分关键字小，
 * 则分别对这两部分继续进行排序，直到整个序列有序。重复这两步直到low=high为止。
 */

public class Quicksort {

	
	public static void main(String[] args) {
		
	}
	
	
	public static int partition(int n[], int low, int high){
		int m = n[low];
		//移动到low==high
		while(low<high){
			
			//直到找到比中轴小的 然后置换
			while( low < high && m >= n[high]){
				high--;
			}
			
			n[low] = n[high];
			
			while(low < high && m <= n[low]){
				low++;
			}
			
			n[high] = n[low];
			
		}
		
		n[low] = m;
		
		
		return low;
	}
}
